Fulfillment of orders for items using 3D manufacturing on demand

ABSTRACT

Methods and systems can be provided for providing items manufactured on demand to users. A user request for an item can be received. The item can have 3D manufacturing instructions associated therewith. A delivery method for the item can be determined. A manufacturing apparatus can be selected to manufacture the item based on the 3D manufacturing instructions. Instructions can be sent to the manufacturing apparatus to manufacture the item based on the 3D manufacturing instructions. Delivery instructions can be provided for delivering the item according to the delivery method.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation-in-Part Application of co-pendingU.S. patent application Ser. No. 13/799,877, filed Mar. 13, 2013, issuedon Oct. 13, 2015 as U.S. Pat. No. 9,159,106, and entitled “SYSTEMS ANDMETHODS FOR FABRICATING PRODUCTS ON DEMAND, which is a Division of U.S.Pat. No. 8,412,588, filed Sep. 24, 2010 and issued on Apr. 2, 2013,entitled “SYSTEMS AND METHODS FOR FABRICATING PRODUCTS ON DEMAND,” whichare incorporated herein by reference in their entireties.

This application is also related to and incorporates by reference forall purposes the full disclosures of co-pending U.S. patent applicationSer. No. 14/076,119, filed Nov. 8, 2013, entitled “ITEM DELIVERY USING3D MANUFACTURING ON DEMAND”, co-pending U.S. patent application Ser. No.14/076,127, filed Nov. 8, 2013, entitled “PROVIDING SERVICES RELATED TOITEM DELIVERY VIA 3D MANUFACTURING ON DEMAND”, co-pending U.S. patentapplication Ser. No. 14/076,128 filed Nov. 8, 2013, entitled “VENDORINTERFACE FOR ITEM DELIVERY VIA 3D MANUFACTURING ON DEMAND”, andco-pending U.S. patent application Ser. No. 14/076,135, filed Nov. 8,2013, entitled “CUSTOMIZATION AND OTHER FEATURES FOR ITEM DELIVERY VIA3D MANUFACTURING ON DEMAND”.

BACKGROUND

In the modern age of e-commerce, many items are bought or soldelectronically. To facilitate such an electronic transaction, a serviceprovider may provide a network site or other electronic marketplacethrough which a customer can select and order an item. The item may beone of many items offered by the electronic marketplace. The electronicmarketplace may have systems for identifying the selected item andensuring that it is delivered to the customer. The multiplicity of itemsoffered may require the electronic marketplace owner/operator tomaintain a large inventory requiring sufficient space to store theinventory. An electronic marketplace may also face the challenge of timedelays related to the process of finding the selected item among a largeinventory. Increased space to store additional inventory may raise costsfor the electronic marketplace. Additionally, time delays betweenreceiving an order and shipping the item to the customer may reducecustomer satisfaction and affect revenues generated. Accordingly, anelectronic marketplace may find it desirable to decrease the amount ofwarehouse or inventory storage space needed, to reduce the amount oftime consumed between receiving an order and delivering the item to thecustomer, or both.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, in which:

FIG. 1 is a schematic diagram showing an example system for providingone or more Manufactured-On-Demand (MOD) items to users via computersystems of a service provider in accordance with embodiments.

FIG. 2 is a schematic diagram depicting an illustrative system orarchitecture in which techniques for providing one or more MOD items tousers via computer systems may be implemented in accordance withembodiments.

FIG. 3 is a flow chart representing a process for providing MOD items tousers in accordance with embodiments.

FIG. 4 is a schematic diagram depicting aspects of an example ordermodule in accordance with embodiments.

FIG. 5 is a flow chart representing a process that can be executed bythe order module for receiving an order of a user for a MOD item inaccordance with embodiments.

FIG. 6 is a schematic diagram depicting aspects of an example supplierinterface module in accordance with embodiments.

FIG. 7 is a flow chart representing a process that can be executed bythe supplier interface module in accordance with embodiments.

FIG. 8 is a schematic diagram depicting aspects of an examplemanufacture module in accordance with embodiments.

FIG. 9 is a flow chart representing a process that can be executed bythe manufacture module in accordance with embodiments.

FIG. 10 is a schematic diagram depicting aspects of an example deliverymodule in accordance with embodiments.

FIG. 11 is a flow chart representing a process that can be executed bythe delivery module in accordance with embodiments.

FIG. 12 is a flow chart representing a process that can be executed by asystem to perform a first example delivery method in accordance withembodiments.

FIG. 13 is a flow chart representing a process that can be executed by asystem to perform a second example delivery method in accordance withembodiments.

FIG. 14 is a flow chart representing a process that can be executed by asystem to perform a third example delivery method in accordance withembodiments.

FIG. 15 is a flow chart representing a process that can be executed by asystem to perform a fourth example delivery method in accordance withembodiments.

FIG. 16 is a flow chart representing a process that can be executed by asystem to perform a fifth example delivery method in accordance withembodiments.

FIG. 17 is a flow chart representing a process that can be executed by asystem for distributing MOD items on behalf of suppliers in accordancewith embodiments.

FIG. 18 is a flow chart representing a process that can be executed by asystem for determining the manner in which an item is provided to a userin accordance with embodiments.

FIG. 19 is a flow chart representing a process that can be executed by asystem for associating environmental offsets with suppliers that utilizesystems of a service provider to distribute MOD items to users inaccordance with embodiments.

FIG. 20 is a flow chart representing a process that can be executed by asystem for providing the designs and 3-Dimensional (3D) manufacturingapparatuses for producing MOD items in accordance with embodiments.

FIG. 21 is a flow chart representing a process that can be executed by asystem for providing designs for producing MOD items in accordance withembodiments.

FIG. 22 illustrates an example of a network page providing options forselecting design services, 3D manufacturing services, and/or design and3D manufacturing services in accordance with embodiments.

FIG. 23 is a flow chart representing a process that can be executed by asystem for providing an electronic marketplace in which providing a MODitem is one of multiple options for fulfilling an order for an item inaccordance with embodiments.

FIG. 24 is a flow chart representing a process that can be executed by asystem for providing an electronic marketplace in which ordering an itemas a MOD item is an option on an item detail page in accordance withembodiments.

FIG. 25 is a flow chart representing a process that can be executed by asystem providing an electronic marketplace in which ordering an item asa MOD item is a shipping option in accordance with embodiments.

FIG. 26 illustrates an example of a network page showing a shipping pagefor a purchased item showing a first delivery option not includingmanufacturing the purchased item based on 3D manufacturing instructionsand a second delivery option including manufacturing the purchased itembased on 3D manufacturing instructions in accordance with embodiments.

FIG. 27 is a flow chart representing a process that can be executed by asystem for providing an electronic marketplace in which ordering an itemas a MOD item is an option associated with a time and/or cost inaccordance with embodiments.

FIG. 28 illustrates an example of a network page showing an item detailpage for an item showing a first option associated with a first price, afirst time of delivery, and a first delivery method not involvingmanufacturing the first item based on 3D manufacturing instructions andsecond option associated with a second price, a second time of delivery,and a second delivery method involving manufacturing the second itembased on 3D manufacturing instructions in accordance with embodiments.

FIG. 29 illustrates an environment in which various embodiments can beimplemented.

DETAILED DESCRIPTION

In the following description, various embodiments will be described. Forpurposes of explanation, specific configurations and details are setforth in order to provide a thorough understanding of the embodiments.However, it will also be apparent to one skilled in the art that theembodiments may be practiced without the specific details. Furthermore,well-known features may be omitted or simplified in order not to obscurethe embodiment being described.

Introduction

Techniques described herein include systems for providing itemsmanufactured on demand to users. For example, a user can submit an orderfor an item offered in an electronic marketplace and request that theitem be manufactured on demand by a manufacturing apparatus, e.g., athree-dimensional (3D) manufacturing apparatus. As may be appreciated,the term “manufacture” connotes production of a physical object. Aservice provider system can receive the order and access instructionsfor manufacturing the item by a manufacturing apparatus. The serviceprovider system may interact with one or more suppliers to obtain themanufacturing instructions. The service provider system can provide themanufacturing instructions to the user so that the user can make theordered item using the user's own manufacturing apparatus.Alternatively, the service provider system can utilize the manufacturinginstructions to make the ordered item using a manufacturing apparatusmaintained by the service provider. The item made on the manufacturingapparatus maintained by the service provider can be delivered to theuser or to a location for pick-up by the user based on instructionsprovided by the service provider system.

FIG. 1 shows an example system 100 for providing one or moreManufactured-On-Demand (MOD) items 110 to users 102 via computer systems106 of a service provider 101. A user 102 can submit an order 104 viacomputer systems 106 of the service provider 101. The computer systems106 of the service provider 101 can provide 3D manufacturinginstructions 107 to have the ordered item manufactured by a 3Dmanufacturing apparatus 108 as a MOD item 110. In some aspects, the 3Dmanufacturing apparatus 108 may include a 3D printer or some otheron-demand 3D manufacturing apparatus(es) 108 described herein.

The 3D manufacturing apparatus 108 may utilize any manufacturingtechnique that can be used to produce a three-dimensional physicalobject based on the 3D manufacturing instructions 107. Both additive andsubtractive manufacturing processes can be utilized. For example,manufacturing techniques can include fused deposition modeling, electronbeam freeform fabrication, direct metal laser sintering, electron beammelting, selective laser melting, selective heat sintering, selectivelaser sintering, laminated object manufacturing, stereo lithography,digital light processing, and any 3D printing, including plaster-based,powder bed, and inkjet head 3D printing. Manufacturing techniques mayalso include automation of machine tools based on a digital model suchas in computer numerical control (or CNC) techniques.

The 3D manufacturing instructions 107 can include any type of dataand/or instructions that can be used by a 3D manufacturing apparatus 108to make an item. The 3D manufacturing instructions 107 can include anydata or instructions utilized in producing a physical object based on adigital model or data of the object. In one example, 3D manufacturinginstructions 107 may include combinations of dimensions, tolerances,and/or other part specifications that sufficiently describe theattributes of an item such that the item can be physically produced by a3D manufacturing apparatus 108. In another example, 3D manufacturinginstructions 107 may include digital models such as may be provided byComputer-Aided-Design (CAD) files or files for computer modelingprograms. In another example, 3D manufacturing instructions 107 mayinclude files in STL, PLY, or VRML formats, to name a few. In anotherexample, 3D manufacturing instructions 107 may also include filesrepresenting cross sections of digital models referenced for buildingphysical models one layer at a time. In another example, 3Dmanufacturing instructions 107 may also include executable codeproviding specific sequential instructions for controlling a 3Dmanufacturing apparatus 108 to produce a physical object.

In embodiments, the computer systems 106 of the service provider 101 canprovide for an electronic marketplace. An electronic marketplace can bea virtual market for buyers and sellers implemented through a network.An electronic marketplace can provide an interface for sellers such thata plurality of sellers can provide items to be listed for consumption inthe virtual market. An electronic marketplace can also provide aninterface for buyers such that buyers may select and order from amongthe listed items. In embodiments, buyers and sellers can include users102 and suppliers 103. For example, users 102 can submit orders 104 foritems listed in the electronic marketplace. In embodiments, thesuppliers 103 can provide physical items for fulfilling orders 104and/or the suppliers 103 can provide 3D manufacturing instructions 107(as at 105) that can be used to produce order-fulfilling MOD items 110on-demand via a 3D manufacturing apparatus 108. In embodiments, orders104 by users 102 for items can be fulfilled by providing a MOD item 110or by providing a non-MOD item. In embodiments, the service provider 101can also be a supplier 103.

In embodiments, the service provider 101 can instruct delivery of theMOD item 110 to the users 102. One or more delivery options may beprovided by the service provider 101. In one aspect, the MOD item 110may be delivered via a 3D manufacturing apparatus 108 owned by the user102, as at 112. For example, the 3D manufacturing instructions 107 canbe provided directly to the user 102, and the MOD item 110 may beproduced, using the 3D manufacturing instructions 107, on a 3D printerat the home or office of the user 102. In other aspects, a 3Dmanufacturing apparatus 108 not owned or controlled by the user 102, butowned or controlled by or otherwise accessible to the service provider101, may produce the MOD item 110 using the 3D manufacturinginstructions 107. As a non-limiting example, the MOD item 110 can beproduced and stored at a pickup location for the user 102 to retrieve atthe convenience of the user 102, as at 114. As another non-limitingexample, the MOD item 110 can be printed or manufactured—for exampleusing a 3D manufacturing apparatus 108 located in a warehouse or on atruck owned by the service provider 101—and then delivered to the user102 according to delivery instructions provided by the user 102, as at116.

An illustrative example of the operation of the system 100 depicted inFIG. 1 follows. A faucet handle breaks off while a person (the user 102in this illustrative example) is cleaning up after dinner, makingadjustment of the water pressure/temperature difficult. The user 102utilizes his or her smartphone to access an electronic marketplacenetwork page (provided by the computer systems 106 of a service provider101 in this example). The user 102 locates the replacement faucet handleon the network page, and places an order (i.e., 104 in FIG. 1) for thefaucet handle, requesting remote pick-up. Upon completing the order 104,the user 102 departs for the pick-up location indicated by the website.Meanwhile, the computer systems 106 retrieve a digital 3D model of thefaucet handle from a database maintained by the original vendor of thefaucet (i.e., interact with a supplier 103 at 105 to obtain 3Dmanufacturing instructions 107). The computer systems 106 then convertthe 3D model into printing instructions for a 3D printer (i.e., the 3Dmanufacturing instructions 107 for the 3D manufacturing apparatus 108).The printing instructions are used to produce the faucet handle as a MODitem 110 by a 3D printer located at a storage facility while the user102 is en route. The MOD item 110 is picked up (i.e., 114) by the user102 and immediately installed to replace the broken faucet handle,thereby quickly resolving the faucet issue.

System Architecture

FIG. 2 depicts an illustrative system or architecture 200 in whichtechniques for providing one or more MOD items 110 to users 102 viacomputer systems 106 may be implemented. In architecture 200, one ormore users 102 may utilize user computing devices 204(1)-(N)(collectively, user devices 204) to access a browser application 206(e.g., a web browser) or a user interface (UI) accessible through thebrowser application 206, via one or more networks 212. The “browserapplication” 206 can be any browser control or native application thatcan access and display a network page or other information. In someaspects, the browser application 206 may be hosted, managed, and/orprovided by a computing resources service or service provider, such asby utilizing one or more service provider computers 216. The one or moreservice provider computers 216 may, in some examples, provide computingresources such as, but not limited to, client entities, low latency datastorage, durable data storage, data access, management, virtualization,hosted-computing-system-based software solutions, electronic contentperformance management, etc. The one or more service provider computers216 may also be operable to provide web or network hosting, computerapplication development, and/or implementation platforms, combinationsof the foregoing, or the like to the one or more users 102.

In one illustrative configuration, the user devices 204 may include atleast one memory 208 and one or more processing units or processor(s)210. The processor(s) 210 may be implemented as appropriate in hardware,computer-executable instructions, firmware, or combinations thereof.Computer-executable instruction or firmware implementations of theprocessor(s) 210 may include computer-executable or machine-executableinstructions written in any suitable programming language to perform thevarious functions described. The user devices 204 may also includegeo-location devices (e.g., a global positioning system (GPS) device orthe like) for providing and/or recording geographic location informationassociated with the user devices 204.

The memory 208 may store program instructions that are loadable andexecutable on the processor(s) 210, as well as data generated during theexecution of these programs. Depending on the configuration and type ofuser device 204, the memory 208 may be volatile (such as random accessmemory (RAM)) and/or non-volatile (such as read-only memory (ROM), flashmemory, etc.). The user device 204 may also include additional removablestorage and/or non-removable storage including, but not limited to,magnetic storage, optical disks, and/or tape storage. The disk drivesand their associated computer-readable media may provide non-volatilestorage of computer-readable instructions, data structures, programmodules, and other data for the computing devices. In someimplementations, the memory 208 may include multiple different types ofmemory, such as static random access memory (SRAM), dynamic randomaccess memory (DRAM), or ROM.

Turning to the components of the memory 208 in more detail, the memory208 may include an operating system and one or more application programsor services for implementing the features disclosed herein via thebrowser application 206 or dedicated applications (e.g., smart phoneapplications, tablet applications, etc.). The browser application 206may be configured to receive, store, and/or display a website, a link toan electronic marketplace, or other interface for interacting with theone or more service provider computers 216. Additionally, the memory 208may store access credentials and/or other user information such as, butnot limited to, user IDs, passwords, and/or other user information. Insome examples, the user information may include information forauthenticating an account such as, but not limited to, a device ID, acookie, an IP address, a location, or the like. In addition, the userinformation may include a user 102 provided response to a securityquestion or a geographic location obtained by the user device 204.

In some examples, the networks 212 may include any one or a combinationof many different types of networks, such as cable networks, theInternet, wireless networks, cellular networks and other private and/orpublic networks. While the illustrated example represents the users 102accessing the browser application 206 over the networks 212, thedescribed techniques may equally apply in instances where the users 102interact with the one or more service provider computers 216 via the oneor more user devices 204 over a landline phone, via a kiosk, or in anyother manner. It is also noted that the described techniques may applyin other client/server arrangements (e.g., set-top boxes, etc.), as wellas in non-client/server arrangements (e.g., locally stored applications,etc.).

As described briefly above, the browser application 206 may allow theusers 102 to interact with the one or more service provider computers216 (e.g., the computer systems 106 of the service provider 101), suchas to access content like webpages or network pages. The one or moreservice provider computers 216, perhaps arranged in a cluster of serversor as a server farm, may host the browser application 206 and/orcloud-based software services. Other server architectures may also beused to host the browser application 206 and/or cloud-based softwareservices. The browser application 206 may be capable of handlingrequests from many users 102 and serving, in response, various userinterfaces that can be rendered at the user devices 204 such as, but notlimited to, a webpage, a website, network site, or network page. Thebrowser application 206 can interact with any type of website or networksite that supports user interaction, including social networking sites,electronic retailers, informational sites, blog sites, search enginesites, news and entertainment sites, and so forth. The describedtechniques can similarly be implemented outside of the browserapplication 206, such as with other applications running on the userdevice 204.

The one or more service provider computers 216 may be any type ofcomputing device such as, but not limited to, a mobile phone, a smartphone, a personal digital assistant (PDA), a laptop computer, a desktopcomputer, a server computer, electronic book (e-book) reader, athin-client device, a tablet PC, etc. Additionally, it should be notedthat in some embodiments, the one or more service provider computers 216may be executed by one or more virtual machines implemented in a hostedcomputing environment. The hosted computing environment may include oneor more rapidly provisioned and released computing resources, whichcomputing resources may include computing, networking, and/or storagedevices. A hosted computing environment may also be referred to as acloud computing environment. In some examples, the one or more serviceprovider computers 216 may be in communication with the user device 204via the networks 212, or via other network connections. The one or moreservice provider computers 216 may include one or more servers, perhapsarranged in a cluster or as individual servers not associated with oneanother. The one or more service provider computers 216 may be incommunication with one or more third party computers 214 via networks212. The one or more service provider computers 216 that host thebrowser application 206 may obtain and provide data to third partycomputers 214 via networks 212 in accordance with embodiments describedherein.

In one illustrative configuration, the one or more service providercomputers 216 may include at least one memory 218 and one or moreprocessing units or processors(s) 221. The processor(s) 221 may beimplemented as appropriate in hardware, computer-executableinstructions, firmware, or combinations thereof. Computer-executableinstruction or firmware implementations of the processor(s) 221 mayinclude computer-executable or machine-executable instructions writtenin any suitable programming language to perform the various functionsdescribed. The memory 218 may store program instructions that areloadable and executable on the processor(s) 221, as well as datagenerated during the execution of these programs. Depending on theconfiguration and type of the one or more service provider computers216, the memory 218 may be volatile (such as RAM) and/or non-volatile(such as ROM, flash memory, etc.). The one or more service providercomputers 216 or servers may also include additional storage 222, whichmay include removable storage and/or non-removable storage. Theadditional storage 222 may include, but is not limited to, magneticstorage, optical disks and/or tape storage. The disk drives and theirassociated computer-readable media may provide non-volatile storage ofcomputer-readable instructions, data structures, program modules andother data for the computing devices. In some implementations, thememory 218 may include multiple different types of memory, such as SRAM,DRAM, or ROM.

The memory 218, the additional storage 222, both removable andnon-removable, are all examples of non-transitory computer-readablestorage media. For example, computer-readable storage media may includevolatile or non-volatile, removable or non-removable media implementedin any method or technology for storage of information such ascomputer-readable instructions, data structures, program modules, orother data. The memory 218 and the additional storage 222 are allexamples of computer storage media. Additional types of computer storagemedia that may be present in the one or more service provider computers216 may include, but are not limited to, PRAM, SRAM, DRAM, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, DVD or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium, whichcan be used to store the desired information and which can be accessedby the one or more service provider computers 216. Combinations of anyof the above should also be included within the scope ofcomputer-readable media.

The one or more service provider computers 216 may also containcommunication connection(s) 223 that allow the one or more serviceprovider computers 216 to communicate with a stored database, anothercomputing device or server, user terminals and/or other devices on thenetworks 212. The one or more service provider computers 216 may alsoinclude I/O device(s) 224, such as a keyboard, a mouse, a pen, a voiceinput device, a touch input device, a display, speakers, a printer, etc.

Turning to the contents of the memory 218 in more detail, the memory 218may include an operating system 220, one or more data stores 240 and/orone or more application programs, services, or other software modules,which are generally executed by a processor (e.g., the processors 210and/or 221) for implementing the features disclosed herein.

Example modules are shown in FIG. 2, but functions and embodimentsdescribed herein can utilize a subset of the features provided by themodules and/or additional functions can be provided. Additionally, whilethe example modules will now be briefly discussed with regard to FIG. 2,further specific details regarding the example modules are providedbelow in the descriptions of subsequent Figures.

As an example module of memory 218, an order module 402 can be providedfor receiving and/or processing orders 104 for MOD items 110. A supplierinterface module 602 can be provided for interfacing with suppliers 103of 3D manufacturing instructions 107 associated with MOD items 110. Amanufacture module 802 can be provided for providing instructions, forexample to the 3D manufacturing apparatus 108, for manufacturing one ormore MOD item(s) 110. A delivery module 1002 can be provided forcoordinating delivery of the MOD item 110 to the user 102.

FIG. 3 is a flow chart representing a process 300 for providing MODitems 110 to users 102 in accordance with some embodiments. Some or allof the process 300 (or any other processes described herein, orvariations and/or combinations thereof) may be performed under thecontrol of one or more computer systems configured with executableinstructions, such as the modules described herein, and may beimplemented as code (e.g., executable instructions, one or more computerprograms or one or more applications) executing collectively on one ormore processors, by hardware or combinations thereof. The code may bestored on a computer-readable storage medium, for example, in the formof a computer program including a plurality of instructions executableby one or more processors. The computer-readable storage medium may benon-transitory. Moreover, unless indicated otherwise, acts shown in theprocesses are not necessary performed in the order shown, and/or someacts can be omitted in embodiments.

The process 300 includes an order operation 302, an interface withsupplier(s) operation 304, a manufacture operation 306 and a deliveroperation 308. In the order operation 302, the order module 402 (e.g.,of FIGS. 2, 4) can receive and/or process an order 104, for examplereceived from a user 102 via a user device 204. In operation 304, thesupplier interface module 602 (e.g., of FIGS. 2, 6) can communicate withthird party computers 214 associated with suppliers 103 of 3Dmanufacturing instructions 107 associated with the selected MOD item110.

As can be understood, the 3D manufacturing instructions 107 may beobtained and stored well prior to receipt of orders 104 from users 102,so that the 3D manufacturing instructions 107 are available when anorder 104 is placed. In addition, in embodiments, the supplier interfacemodule 602 is not used and/or operation 304 is omitted. For example, the3D manufacturing instructions 107 can be generated by the serviceprovider computers 216. In the manufacture operation 306, themanufacture module 802 can prepare instructions for a 3D manufacturingapparatus 108 to produce a MOD item 110. In the deliver operation 308,the delivery module 1002 can provide instructions regarding the deliveryof the MOD item 110, including, but not limited to, determining adelivery method for the MOD item 110 (e.g., to provide 3D manufacturinginstructions 107 directly to the user 102 as at 112 in FIG. 1; toprovide a MOD item 110 at a pick-up location as at 114 FIG. 1; or toship a MOD item 110 to the user 102 as at 116 in FIG. 1).

FIG. 4 depicts aspects of an example order module 402. Order module 402can include an item selection module 404, an authorization module 406, acustomization module 408, a delivery preferences module 410, and/or apayment module 412. The item selection module 404 can be provided forreceiving and/or processing a selection by a user 102 of an itemprovided by the service provider computers 106, which may be, forexample, the MOD item 110. An authorization module 406 can be providedfor verifying authorization credentials of a user 102. A customizationmodule 408 can be provided for receiving customization options selectedby a user 102 for the selected MOD item 110. A delivery preferencesmodule 410 can be provided for receiving delivery preferences of a user102 for the MOD item 110. A payment module 412 can be provided forreceiving payment by a user 102 for the MOD item 110.

FIG. 5 is a flow chart representing a process 500 that can be executedby the order module 402 for receiving an order 104 of a user 102 for aMOD item 110. At 502, the order module 402 can receive a selection froma user 102 of a MOD item 110 via the network 212 and/or the user device204. For example, the user 102 may select a MOD item 110 displayed viathe browser application 206 on the user device 204 in the form of a partnumber, description, and/or image of a MOD item 110, and the itemselection module 404 can receive the selection. In some aspects, theorder module 402 may provide a user interface for a user 102 to select asubcomponent out of a larger assembly, and the item selection module 404can receive the selection of the subcomponent as a MOD item 110.

At 504, the authorization module 406 can determine whether or not theselected MOD item 110 requires authorization. For example, a selectedMOD item 110 might be a medical device or a firearm or another MOD item110 of a restricted or regulated category. At 506, if the authorizationmodule 406 determines that the MOD item 110 requires authorization, theauthorization module 406 can assess user credentials. For example, theauthorization module 406 can compare a license or code number associatedwith a user 102 to determine if the user 102 is authorized to purchasethe MOD item 110. The authorization module 406 can access authorizationinformation utilized at operations 504 and 506—such as authorizationrequirements and/or user credentials—via a user device 204, a thirdparty computer 214, a service provider computer 216, or any combinationthereof.

At operation 508, if the authorization module 406 determines that theuser 102 is not authorized for the MOD item 110 (e.g., credentialsassociated with the user 102 are insufficient for the MOD item 110), theauthorization module 406 can proceed to operation 510 and handleaccordingly, such as terminate the transaction, request furthercredentials, send a message to the user 102, or some other handlingoperation. The process 500 may return to operation 502 after handling soas to provide the user 102 an opportunity to select a different MOD item110 that does not require the authorization. If the user 102 isauthorized to order a MOD item 110 at 508, or if the MOD item 110 doesnot require authorization at 504, the process 500 can proceed tooperation 512.

At operation 512, the customization module 408 can receive a selectionof the user 102 of customization options. As non-limiting examples, thecustomization module 408 can receive one or more user-selectedcustomization options for the MOD item 110 such as size, material,color, text, symbols, logos, or other design modifications to the MODitem 110. The customization module 408 can provide the customizationoptions as a finite list, such as a drop down menu, item selection list,or other options provided by the browser application 206. In someaspects, an additional user interface may be provided for manipulationand customization of a virtual model of the MOD item 110 and the MODitem 110 can be manufactured based on the virtual model, e.g., the 3Dmanufacturing instructions 107 can be modified to reflect the customizedvirtual model. Customization may also include customizing all or a partof a selected MOD item 110. As a non-limiting example, a user 102 mightselect a particular kind of buckle or clasp to be produced as a MOD item110 and delivered as part of an assembled or unassembled garment or bag.In another non-limiting example, a user 102 may select a particularhinge or fastening device to be manufactured as a MOD item 110 as partof a larger assembly. The larger assembly may or may not include allcomponents that are MOD items 110. A size or other options may also beselected. In some aspects, the customization module 408 can provide forcustomization based on a functionality requested by the user 102. Forexample, rather than submitting a request indicating structural changesto a MOD item 110, the user 102 may submit a request specifyingfunctional changes or goals. In a non-limiting example, a user 102 isbuilding a piece of machinery that involves a rotating shaft and apulley wheel that need to turn at different speeds, but lacks acomponent to mechanically link the two components. The user 102 utilizeshis or her tablet to access an electronic marketplace network page andultimately selects a generic gear offered as a MOD item 110. In acustomization portion of the order, the user 102 requests that theselected gear be modified for attachment to the pulley wheel andinteraction with the rotating shaft such that the pulley wheel will turnat a certain fraction of the rotating shaft's speed. The customizationmodule 408 receives the request and interfaces with other modules suchthat the user 102 can ultimately use his own 3D printer to produce a MODitem 110 that will serve the requested function. In some aspects,customization to match a requested functionality can involve allowing auser 102 to select from multiple designs generated to meet the requestedfunctionality. For example, the multiple designs may be generated bydifferent algorithms accessible to the customization module 408 or bypeople that received the functionality request via the customizationmodule 408.

At operation 514 in process 500, the delivery preferences module 410 canreceive a selection of a user 102 of delivery options. For example, thedelivery preferences module 410 may receive preferences of a user 102 asto the time or method of delivery of the MOD item 110. The deliverypreferences module 410 may provide a user interface to the user 102displaying delivery preference options for a user 102 to select and forthe delivery preferences module 410 to receive at 514. Non-limitingexamples of delivery preferences may include fastest option available,most economic option available, delivery to pick-up or storage location,delivery via vehicle, and delivery via a 3D manufacturing apparatus 108owned by the user 102. The delivery preferences of a user 102 receivedby the delivery preferences module 410 may be utilized by deliverymodule 1002, as discussed in greater detail with regard to FIGS. 10 and11 below.

At operation 516, the payment module 412 can determine a payment to beassessed for the MOD item 110. The amount of the payment assessed may bedetermined based on earlier selected options of the user 102 such as,but not limited to, the delivery options selected by the user 102, thecustomization options selected by the user 102, and/or whether or notthe user 102 has an adequate level of authorization to change pricingconsiderations for the MOD item 110. At operation 518, the paymentmodule 412 can receive a payment of the user 102. For example, thepayment module 412 can receive a payment of the user 102 in the form ofa credit card payment, a redemption code, a virtual payment service, orany other payment type.

An illustrative example of the process 500 follows. A user 102 mayinteract with a browser application 206 to order a MOD item 110. In thisillustrative example, the MOD item 110 is a trophy. At operation 502,the order module 402 receives the selection by the user 102 via thebrowser application 206, which indicates the trophy as the selecteditem. At operation 504, the authorization module 406 determines that atrophy is not a restricted class (No at operation 504) and the process500 proceeds to operation 512. The customization module 408 provides theuser 102 with a number of customization options via the browserapplication 206. The user 102 is first presented with threecustomization options for a sport figurine for the top of the trophy: afootball player, a tennis player, and a basketball player. Although theselection of the sports figurine could also reflect a user selection ofa sports-specific trophy at operation 502, the sports figurine selectionis discussed here as a customization option to highlight the versatilityof the customization module 408). At operation 512, the customizationmodule 408 receives the selection by the user 102 of the tennis playerfigurine. The browser application 206 next presents the user 102 with atext field associated with the base of the trophy. Still at operation512, the customization module 408 receives the user's entry of “MVP2016”. The browser application 206 next presents the user 102 with avirtual model of the trophy. Still at operation 512, the customizationmodule 408 receives the open-ended manipulation of the model by the user102, including beveling the top four corners of the base and a 20% scalereduction in the size of the trophy. At 514, the delivery preferencesmodule 410 checks to see if the user 102 has a default deliverypreference established, and finding none, prompts the user 102 fordelivery preferences. The delivery preferences module 410 detects thatthe user 102 has identified a 3D printer belonging to the user 102 andprovides delivery options of print MOD item 110 at home or deliver MODitem 110 via vehicle. At 514, the delivery preferences module 410receives the selection by the user 102 of print MOD item 110 at home. At516, the payment module 412 determines the cost associated with printingthe trophy at home and the cost adjustments (if any) for thecustomization of the trophy. At 518, the payment module 412 receivespayment from the user 102 from the user's account with the serviceprovider 101.

FIG. 6 depicts aspects of an example supplier interface module 602.Supplier interface module 602 can include a 3D manufacturinginstructions retrieval module 604, an authorization module 606, anenvironmental offset module 608, and a payment module 610. The 3Dmanufacturing instructions retrieval module 604 can be provided forretrieving 3D manufacturing instructions 107 associated with a MOD item110 from a supplier 103 associated with the MOD item 110. Theauthorization module 606 can be provided for verifying permission from asupplier 103 to utilize 3D manufacturing instructions 107 associatedwith a MOD item 110 and the supplier 103. For example, the authorizationmodule 606 of the supplier interface module 602 may be associated withpermissions imposed by a supplier 103 and may be related to or distinctfrom permissions associated with the authorization module 406 of theorder module 402, which may be imposed by a service provider 101. Theenvironmental offset module 608 can be provided for facilitatingenvironmental offset programs associated with the production of MODitems 110 for suppliers 103 associated with MOD items 110 andparticipating in the environmental offset program. Non-limiting examplesof environmental offset programs include carbon credit programs andenergy conservation projects. A payment module 610 can be provided forcoordinating payment between a supplier 103 associated with a MOD item110 and users 102 or the service provider 101.

FIG. 7 is a flow chart representing a process 700 that can be executedby the supplier interface module 602. At 702, the 3D manufacturinginstructions retrieval module 604 can identify 3D manufacturinginstructions 107 associated with the selected MOD item 110 that are tobe supplied by a third party supplier 103. The selected MOD item 110 canbe the same MOD item 110 selected by the user 102 and received atoperation 502 as discussed above. 3D manufacturing instructions 107identified at operation 702 can include base files associated with theMOD item 110 that are provided by suppliers 103 of the MOD item 110. Forexample, 3D manufacturing instructions 107 identified at 702 can be apart file including specifications for a MOD item 110 from amanufacturer. Alternatively, 3D manufacturing instructions 107identified at operation 702 may include customization files or optionsprovided for a MOD item 110. The customization files may be provided bya third party and not the service provider 101. The 3D manufacturinginstructions retrieval module 604 can interact with third partycomputers 214 via the network 212 so as to retrieve the 3D manufacturinginstructions 107 from third party suppliers 103 identified in operation702.

At operation 704, the authorization module 606 can determine if the 3Dmanufacturing instructions 107 require authorization from the supplier103. For example, the authorization module 606 may determine if thesupplier 103 will require authorization to be established on behalf of auser 102 before the supplier 103 will permit 3D manufacturinginstructions 107 associated with the supplier 103 to be used to fulfillan order 104 from the user 102 for a MOD item 110. In some embodiments,the supplier 103 may also request that the service provider 101establish authorization for the service provider 101 to utilizemanufacturing instructions 107 associated with the supplier 103. If the3D manufacturing instructions 107 require authorization at 706,authorization verification can be provided to the supplier 103, such asto third party computers 214. In some aspects, the authorization module606 can limit the ability of a user 102 to order a MOD item 110 ifadequate authorization is not established on behalf of the user 102. Insome aspects, the authorization verification is provided by the user 102to indicate that the user 102 is authorized to utilize the base orcustomization files being requested from the supplier 103. Inalternative aspects, the service provider computers 216 may provideauthorization verification regardless of the particular user 102involved in the transaction. In some embodiments, 3D manufacturinginstructions 107 associated with a supplier 103 are stored on serviceprovider computers 216, and authorization provided at 706 permits theservice provider 101 to utilize the manufacturing instructions 107 toproduce a MOD item 110. In some embodiments, 3D manufacturinginstructions 107 associated with a supplier 103 are stored on thirdparty computers 214, and authorization provided at 706 permits theservice provider 101 to access the manufacturing instructions 107 viathe network 212. When the authorization module 606 has providedauthorization verification at 706 or determined that the 3Dmanufacturing instructions 107 do not require authorization at 704, theprocess 700 may continue at 708.

At 708, the 3D manufacturing instructions retrieval module 604 canretrieve 3D manufacturing instructions 107 associated with the selectedMOD item 110. The 3D manufacturing instructions 107 retrieved may be the3D manufacturing instructions 107 identified by the 3D manufacturinginstructions retrieval module 604 at 702. The 3D manufacturinginstructions 107 retrieved at 708 may be subject to authorization at 704or not subject to authorization at 704. The 3D manufacturinginstructions 107 retrieved at 708 can include encrypted data forsecuring the 3D manufacturing instructions 107 and/or preventingimproper copying.

At operation 710, the environmental offset module 608 can communicateenvironmental offset information associated with the purchase of aselected MOD item 110. The environmental offset may be awarded to asupplier 103, for example, if the supplier 103 sells a part or item as aMOD item 110 as opposed to manufacturing the part or item viaconventional manufacturing methods. For example, the environmentaloffset module 608 may communicate information regarding an environmentaloffset value of the selected MOD item 110 to the supplier 103 or to anagency administering the environmental offset program in which thesupplier 103 participates. The environmental offset value may be basedupon the amount of energy conserved or carbon reduced by producing theitem as a MOD item 110 as opposed to via conventional methods. In anon-limiting example, a part manufactured in a factory operating on coalpower may require ten units worth of energy associated with a carbonfootprint to produce. The same part produced as a MOD item may onlyrequire three units worth of energy to produce. The environmental offsetmodule 608 in such a situation could assign the supplier 103 a credit ofseven environmental offset credits based on the energy savingsassociated with producing the item as a MOD item rather than via theconventional coal factory approach. In some aspects, the environmentaloffset applied in operation 710 can be based also in part on thematerials used or on the kinds of customization selected by the user102.

At operation 712, the payment module 610 can coordinate paymentassociated with a supplier 103. The payment module 610 can coordinatepayment between any of the users 102, the service provider 101, and/orthe suppliers 103. In some embodiments, the service provider 101 paysthe supplier 103 for the use of 3D manufacturing instructions 107associated with the supplier 103, and the payment module 610 providesthis function. In one example, the payment module 610 may communicatesales information and/or a payment to the supplier 103 for every MODitem 110 that is produced and associated with 3D manufacturinginstructions 107 received from the supplier 103. In some embodiments,the supplier 103 pays the service provider 101 for the production of MODitems 110 that are based on 3D manufacturing instructions 107 associatedwith the supplier 103, and the payment module 610 provides thisfunction. In one non-limiting example, the payment module 610 provides abill to the third party supplier 103 for every 3D manufacturinginstructions 107 retrieved by the supplier interface module 602. As aspecific example, if a manufacturer (as a supplier 103) utilizes systemsherein to provide MOD items 110 to fulfill warranties on parts for themanufacturer's products, the manufacturer may provide the user 102 witha code when the user 102 calls the manufacturer regarding a manufacturerwarranty. The user 102 might enter that code as payment for the part tobe delivered as a MOD item 110, and the service provider 101 maycoordinate payment directly with the manufacturer/supplier 103 insteadof with the user 102 based on the code entered by the user 102. In someembodiments, the payment module 610 can coordinate payment from thesupplier 103 to the service provider 101 for the service of offering theitems of the supplier 103 as MOD items 110. In some embodiments, thepayment module 610 can coordinate revenue splitting between variousentities. For example, the payment module 610 can coordinate revenuesplitting between service providers 101, users 102, suppliers 103,and/or other relevant parties. In a specific example, a payment isreceived from a user 102 for a phone cover with an embossed sports teamlogo (i.e., a MOD item 110), and the payment module 610 distributespayment between a vendor of the phone cover (i.e., a first supplier 103,which provided the base file for the MOD item 110), the phonemanufacturer (i.e., a first relevant party, which holds rightsassociated with the phone's design), a broker for sports logos (i.e., asecond supplier 103, which provided the customization file for the MODitem 110), the sports team (i.e., a second relevant party, which holdsrights associated with the logo), and/or the entity providing theelectronic marketplace by which the purchase was completed (i.e., theservice provider 101). Revenue splitting can be between any number ofvendors, including only one, and the electronic marketplace serviceprovider, or may be split only between vendors.

FIG. 8 depicts aspects of an example manufacture module 802. Manufacturemodule 802 can include a 3D manufacturing instructions determinationmodule 804, a 3D manufacturing instructions reconfiguration module 806,a 3D manufacturing apparatus determination module 808, and amanufacturing instructions module 810. The 3D manufacturing instructionsdetermination module 804 can be provided for determining which 3Dmanufacturing instructions 107 are associated with a selected MOD item110. The 3D manufacturing instructions reconfiguration module 806 can beprovided to reconfigure 3D manufacturing instructions 107 associatedwith the MOD item 110. The 3D manufacturing apparatus determinationmodule 808 can be provided for determining the specific 3D manufacturingapparatus 108 that is to be used for manufacturing the MOD item 110. Themanufacturing instructions module 810 can be provided for producing the3D manufacturing instructions 107 that will be used to cause the 3Dmanufacturing apparatus 108 to manufacture the MOD item 110.

FIG. 9 is a flow chart representing a process 900 that can be executedby the manufacture module 802. At 902, the 3D manufacturing instructionsdetermination module 804 can determine 3D manufacturing instructions 107associated with a selected item. The 3D manufacturing instructions 107can be base files or customization files. The 3D manufacturinginstructions 107 can also be provided by the service provider 101 and/orby third party suppliers 103. The 3D manufacturing instructions 107 maybe stored on the service provider computer 216 such as in a data store240, and/or 3D manufacturing instructions 107 associated with a selecteditem may be retrieved from third party computers 214 via the network212.

At 904, 3D manufacturing instructions reconfiguration module 806 canreconfigure 3D manufacturing instructions 107 associated with theselected MOD item 110. Reconfiguring may include modifying the 3Dmanufacturing instructions 107 to reflect customization done by thecustomization module 408, described above, for a selected MOD item 110.

At 906, the 3D manufacturing apparatus determination module 808 candetermine which 3D manufacturing apparatus 108 will be used tomanufacture the MOD item 110. The determination may be based at least inpart upon the material selected for manufacturing the MOD item 110, thetype of machines available for producing a MOD item 110 of thatmaterial, and/or the location of the user 102. The determination mayalso be based on a rating of the various 3D manufacturing apparatuses108 available and whether the rating is sufficient to manufacture a MODitem 110 of a sufficient caliber or quality to comply with the selectionof the MOD item. The determination of the 3D manufacturing apparatus 108may also be based upon the location of the available 3D manufacturingapparatuses 108. The determination may also be based upon what kind of3D manufacturing instructions 107 the MOD item 110 has associated withit and whether available 3D manufacturing apparatuses 108 can supportthat kind of 3D manufacturing instructions 107.

At operation 908, the 3D manufacturing instructions reconfigurationmodule 806 can reconfigure 3D manufacturing instructions 107 associatedwith the selected MOD item 110 to for the selected 3D manufacturingapparatus 108. For example, the 3D manufacturing instructions 107 may bereconfigured so as to convert the 3D manufacturing instructions 107 to atype that is supported by the selected 3D manufacturing apparatus 108.Alternatively, the 3D manufacturing instructions 107 might bereconfigured to reflect the resolution or quality of the 3Dmanufacturing apparatus 108 and to convert the 3D manufacturinginstructions 107 to an appropriate caliber for the selected 3Dmanufacturing apparatus 108.

At operation 910, the manufacturing instructions module 810 can provide3D manufacturing instructions 107 to the selected 3D manufacturingapparatus 108. The manufacturing instructions 107 can reflect thereconfiguration performed in operation 908. The manufacturinginstructions 107 may also be provided to a 3D manufacturing apparatus108 based on the kind of 3D manufacturing apparatus 108.

FIG. 10 depicts aspects of an example delivery module 1002. The deliverymodule 1002 can include a notification module 1004, a locationdetermination module 1006, and a delivery instructions module 1008. Thenotification module 1004 can be provided for notifying a user 102regarding the status of the manufacture or delivery of a MOD item 110.The location determination module 1006 can be provided for determining alocation of manufacture and/or delivery of the MOD item 110. Thedelivery instructions module 1008 can be provided for generating andcommunicating instructions regarding delivery of the MOD item 110 to theuser 102.

FIG. 11 is a flow chart representing a process 1100 that can be executedby the delivery module 1002. At 1102, the delivery module 1002 canidentify the selected delivery method for the MOD item 110. In someaspects, the selected delivery method may be determined by the deliverymodule 1002 based on parameters associated with one or more deliverymethods. Non-limiting examples of parameters that may be evaluated indetermining a delivery method include user location information (such asgeo-positioning information from a user device, a location stored in aprofile of the user, an address inputted by the user, or a place withina defined distance from a location associated with other user locationinformation), time of delivery, cost to make, shipping or other deliverycost, storage cost, location of existing parts, location of 3Dmanufacturing apparatus 108, availability of 3D manufacturing apparatus108, longevity or expected useful life of an item, preferences of asupplier 103, preferences of a service provider 101, preferences of auser 102, and preferences of another relevant party (e.g., arights-holder that is not a service provider 101, a user 102, or asupplier 103). In some aspects, the selected delivery method may bebased upon delivery preferences received from the user 102 at operation514 discussed above in FIG. 5. In one example, a user 102 indicates apreference for a delivery method utilizing a manufacturing apparatus 108within 10 miles of a home address of the user 102, and the deliverymethod is determined based at least in part upon the delivery methodsassociated with the manufacturing apparatuses 108 within that zone.

In some instances, the delivery preference options presented to the user102 by the delivery preferences module 410 for the delivery preferencesmodule 410 to receive at 514 may be determined based on one or more ofthese parameters. In a non-limiting example, the delivery module 1002may determine that an order 104 can be fulfilled by any of threedelivery methods. In this example, the first delivery method involvesproducing and shipping a MOD item 110 from an available 3D manufacturingapparatus 108 in a warehouse, the second delivery method involvesproducing the MOD item 110 via an available 3D manufacturing apparatus108 at a pick-up location, and the third delivery method involvesproducing the MOD item 110 on an available 3D manufacturing apparatus108 located on a truck that can add the delivery to its present route.The delivery module 1002 may instruct the delivery preferences module410 to only present the third delivery option to the user 102, based ona determination that the cost of fulfilling the order 104 via the firstdelivery method would exceed a cost threshold previously established bythe supplier 103 and the pick-up location would not meet locationcriteria previously established by the user 102.

At operation 1104, the location determination module 1006 can identifythe location of the MOD item 110. The location of the MOD item may be areal time determination. The location of the MOD item 110 may also be aprospective determination. For example, the location determinationmodule 1006 may determine where the MOD item 110 is anticipated to be ata given time based on the 3D manufacturing apparatus 108 selected inoperation 906 and the delivery method identified in operation 1102.

At 1106, the location determination module 1006 can determine thedelivery location for the MOD item 110. The delivery location may bedetermined by the user-selected delivery preferences. The deliverylocation may also be determined by the delivery module 1002 based onparameters as stated above. The delivery module 1002 may determine thedefault delivery location based on the quality of the 3D manufacturingapparatus 108 to be used to manufacture MOD item 110 or the proximity ofthe 3D manufacturing apparatus 108.

At operation 1108, the delivery module 1002 may determine an estimateddelivery timeline of a MOD item 110 to the user 102. For example, thedelivery module 1002 can determine an estimated length of time remainingbefore the user 102 can retrieve the MOD item 110 from a pickuplocation. As another example, the delivery module 1002 can determine anestimated time that the MOD item will be delivered to a locationdesignated by the location determination module 1006 at operation 1106.In some aspects, the delivery module 1002 at 1108 determines anestimated delivery timeline of the MOD item 110 based on the 3Dmanufacturing apparatus 108 selected in operation 906, the deliverymethod identified in operation 1102, and/or the delivery locationidentified in operation 1106.

At operation 1110, the notification module 1004 can notify the user 102about the status of the MOD item 110. For example, the notificationmodule 1004 may notify the user 102 that the MOD item 110 is ready to bepicked up. The notification module 1004 may alternatively notify theuser 102 that the MOD item 110 is estimated to arrive to the deliveryaddress at a certain time, i.e., providing an estimated time for pickupor delivery. The notification module 1004 may also provide the user 102with an access code for accessing or verifying that the user 102 is theintended recipient of the MOD item 110. In some aspects, thenotification is based on preferences identified by the user 202. Forexample, the notification may be provided by one or more of email, text,or push notifications.

At operation 1112, the delivery instructions module 1008 may providedelivery instructions regarding the MOD item 110. For example, thedelivery instructions module 1008 may provide instructions regardingwhere the MOD item 110 is to be delivered or stored for receipt by theuser 102. The details of the delivery instructions provided by thedelivery instructions module 1008 may depend upon the delivery methodutilized.

Delivery Methods

Various delivery methods may be utilized with systems discussed herein.The delivery method selected for providing a MOD item 110 to a user 102may affect the functions performed by various modules discussed above.The following discussion of examples of delivery methods may illustrateways that a selected delivery method may affect the functions performedby previously discussed modules.

In a first example of a delivery method for providing a MOD item 110 toa user 102, the MOD item 110 can be produced by a 3D manufacturingapparatus 108 located in a warehouse or a fulfillment center. Forexample, a user 102 may request a MOD item 110 be delivered directly tohis or her house. The location determination module 1006 selects anappropriate fulfillment center, for example, based on the proximity tothe user 102. The 3D manufacturing apparatus determination module 808selects a 3D manufacturing apparatus 108 for printing the MOD item 110based on the availability of 3D manufacturing apparatuses 108 located atthe selected fulfillment center. The manufacturing instructions module810 sends 3D manufacturing instructions 107 to the selected 3Dmanufacturing apparatus 108 and the MOD item 110 is fabricated. Thedelivery instructions module 1008 provides a delivery address, and alocal shipping agency, such as the United Parcel Service (UPS), can thenpick up the MOD item 110 and delivery it to the user 102. FIG. 12 is aflow chart representing a process 1200 that can be executed by a system200 to perform a first example delivery method.

At 1202, the order module 402 can receive an order 104 for a MOD item110 from a user 102. Delivery via a warehouse can be selected as thedelivery method. As may be the case regarding any of the examples ofdelivery methods discussed in this section, the selection of thedelivery method may be based upon a selection by the user 102 receivedby the delivery preferences module 410 or may be a determination made bya module (such as the order module 402 or delivery module 1002)utilizing an algorithm for determining a default delivery method.

At 1204, the location determination module 1006 can determine thelocation to which the MOD item 110 is to be delivered. As may be thecase regarding any of the examples of delivery methods discussed in thissection, the location determination module 1006 may prompt the user 102for a delivery location via the browser application 206 or the locationdetermination module 1006 may utilize a default delivery locationassociated with an account or profile of the user 102.

At 1208, a location of the 3D manufacturing apparatus 108 can beselected. For example, the location determination module 1006 mayutilize the delivery location for the MOD item 110 in selecting awarehouse having at least one 3D manufacturing apparatus 108 availableto manufacture the MOD item 110. The 3D manufacturing apparatusdetermination module 808 can select a particular 3D manufacturingapparatus 108 at the warehouse for producing the MOD item 110.

At 1210, the manufacturing instructions module 810 can generatemanufacturing instructions 107 for producing the MOD item 110 via theselected 3D manufacturing apparatus 108 in the warehouse. At 1212, themanufacturing instructions module 810 can send the manufacturinginstructions 107 to produce the MOD item 110 to the selected 3Dmanufacturing apparatus 108 in the warehouse.

At 1214, the delivery instructions module 1008 can provide deliveryinstructions for transporting the MOD item 110 from the warehouse ofmanufacture to the delivery location. For example, the deliveryinstructions module 1008 may provide a delivery address and appropriateinstructions for transporting the MOD item 110 to the address via adelivery vehicle or courier service.

At 1216, the notification module 1004 may notify the user 102 of thestatus of the MOD item 110, such as the progress in manufacturing theMOD item 110 in the warehouse, the location of the MOD item 110, thetime remaining before the arrival of the MOD item 110 to the deliverylocation, or confirmation of delivery of the MOD item 110.

In a second example of a delivery method for providing a MOD item 110 toa user 102, the MOD item 110 can be produced by a mobile 3Dmanufacturing apparatus 108. By “mobile”, we mean that the position ofthe 3D manufacturing apparatus 108 changes because it is mounted withinor contained within a moving vehicle or other structure. A vehicle for amobile manufacturing apparatus 108 can include a computer communicationslink such that information can be exchanged between the service providercomputers 216 and the vehicle and/or the 3D manufacturing apparatus 108.For example, the computer communications link can facilitate the sendingand/or receiving of delivery route instructions or status, 3Dmanufacturing instructions 107, and/or availability or other statusinformation for the 3D manufacturing apparatus 108. A vehicle having amobile manufacturing apparatus 108 may be specially designated solelyfor the delivery of MOD items 110 or the vehicle may also be designatedfor additional purposes. For example, a vehicle utilized for delivery ofnon-MOD items (such as groceries) may also include a mobile 3Dmanufacturing apparatus 108 for the production and delivery of MOD items110 en route to deliver the non-MOD items. By using a mobile 3Dmanufacturing apparatus 108, a MOD item 110 can be delivered duringroutine runs, or a drop may be arranged using a trip planning algorithm.

FIG. 13 is a flow chart representing a process 1300 that can be executedby a system 200 to perform a second example delivery method. At 1302,the order module 402 can receive an order 104 for a MOD item 110 from auser 102. Delivery via a mobile 3D manufacturing apparatus 108 can beselected by the user 102 as the delivery method, or can be selected dueto convenience by the service provider 101. At 1304, the locationdetermination module 1006 can determine the location to which the MODitem 110 is to be delivered, which may have been given with the order104.

At 1306, the 3D manufacturing apparatus determination module 808 canidentify an available mobile 3D manufacturing apparatus 108. The 3Dmanufacturing apparatus determination module 808 may utilize thedelivery location for the MOD item 110 in identifying an availablemobile 3D manufacturing apparatus 108. For example, the 3D manufacturingapparatus determination module 808 may identify mobile 3D manufacturingapparatuses 108 that are nearby the delivery location or that will benearby within a certain window of time. The window of time may be basedon an estimated amount of time for the mobile 3D manufacturing apparatus108 to produce the MOD item 110. The estimated amount of time for themobile 3D manufacturing apparatus 108 to produce the MOD item 110 may bebased in part on whether the mobile 3D manufacturing apparatus 108 is inuse or immediately available to begin manufacturing the MOD item 110.

At 1308, the 3D manufacturing apparatus determination module 808 canselect a particular available mobile 3D manufacturing apparatus 108 forproducing the MOD item 110. The selection may be based at least in partupon the estimated amount of time for the mobile 3D manufacturingapparatus 108 to produce the MOD item 110, the distance of the mobilemanufacturing unit from the delivery location, the amount of deviationin time or distance from a route of the mobile manufacturing unit toreach the delivery location, other considerations, or any combinationthereof.

At 1310, the manufacturing instructions module 810 can generatemanufacturing instructions 107 for producing the MOD item 110 via theselected mobile 3D manufacturing apparatus 108. At 1312, themanufacturing instructions module 810 can send the manufacturinginstructions 107 to produce the MOD item 110 to the selected mobile 3Dmanufacturing apparatus 108.

At 1314, the delivery instructions module 1008 can provide deliveryinstructions for delivering the MOD item 110 to the delivery location.For example, the delivery instructions module 1008 may provide adelivery address and appropriate instructions for transporting the MODitem 110 to the address.

At 1316, the notification module 1004 may notify the user 102 of thestatus of the MOD item 110, such as the progress in manufacturing theMOD item 110 via the selected mobile 3D manufacturing apparatus 108, thelocation of the mobile 3D manufacturing apparatus 108 and/or the MODitem 110, the time remaining before the arrival of the MOD item 110 tothe delivery location, or confirmation of delivery of the MOD item 110.

In an illustrative example of the execution of the process 1300, anorder 104 is received at 1302 from a user 102 requesting a MOD item 110delivered via a mobile 3D manufacturing apparatus 108. At 1304, thedelivery location is determined to be an address, 742 Evergreen Terrace.At 1306, the 3D manufacturing apparatus determination module 808identifies three available mobile 3D manufacturing apparatuses 108 thatcould produce and deliver the selected MOD item 110 within the nexthour. A first available mobile manufacturing apparatus 108 can be agrocery delivery truck outfitted with a 3D manufacturing apparatus 108not presently engaged in producing a MOD item 110. The first availablemobile 3D manufacturing apparatus 108 is capable of producing theordered MOD item 110 in 12 minutes. The grocery delivery truck islocated 5 miles away from 742 Evergreen Terrace and scheduled to delivergroceries to 744 Evergreen Terrace (the house next door to 742 EvergreenTerrace) during its present route in 32 minutes. The second availablemobile 3D manufacturing apparatus 108 can be a warehouse item deliveryvan outfitted with a 3D manufacturing apparatus 108 not presentlyengaged in producing a MOD item 110. The second available mobile 3Dmanufacturing apparatus 108 is also capable of producing the selectedMOD item 110 in 12 minutes. The warehouse item delivery van is located 3miles away and could deliver the MOD item 110 in 19 minutes to 742Evergreen Terrace with a 2.5 mile deviation from its present route. Thethird available mobile 3D manufacturing apparatus 108 can be the thirdof three 3D manufacturing apparatuses 108 located on a vehicledesignated solely for mobile manufacturing. All three 3D manufacturingapparatuses 108 on the mobile manufacturing vehicle are occupiedproducing other MOD items 110, although the third available mobile 3Dmanufacturing apparatus 108 is estimated to finish and be available formanufacturing the selected MOD item 110 in 2 minutes. The thirdavailable 3D manufacturing apparatus 108—a newer model than the firstand second available 3D manufacturing apparatuses 108—is capable ofproducing the selected MOD item 110 in 8 minutes such that the selectedMOD item 110 could be produced in a total of 10 minutes including the 2minute wait until availability. The mobile manufacturing vehicle islocated 2 miles away and could deliver the MOD item 110 in 24 minutes to742 Evergreen Terrace with a 1.5 mile deviation from its present route.At 1308, the 3D manufacturing apparatus determination module 808 selectsthe first available mobile manufacturing located on the grocery truck,in this case, based on the minimal deviation from the present route ofthe grocery truck. At 1310, the manufacturing instructions module 810generates manufacturing instructions 107 for producing the MOD item 110specific to the model of the mobile 3D manufacturing apparatus 108located on the grocery truck. At 1312, the manufacturing instructionsmodule 810 sends the manufacturing instructions 107 to the mobile 3Dmanufacturing apparatus 108 located on the grocery truck. At 1314, thedelivery instructions module 1008 provides delivery instructions thatdirect the driver of the grocery truck to deliver the MOD item 110 to742 Evergreen Terrace prior to delivering the groceries to 744 EvergreenTerrace during the delivery route. Thus, the decision for a particularmobile 3D manufacturing apparatus 108 can be based upon a number offactors and could be resolved in accordance with an algorithm or anothersoftware decision process.

In a third example of a delivery method for providing a MOD item 110 toa user 102, the MOD item 110 can be produced by a 3D manufacturingapparatus 108 associated with a pick-up location. For example, the 3Dmanufacturing apparatus 108 may be associated with a locker designatedas the pick-up location for a user 102 to pick-up an ordered MOD item110. In some aspects, the 3D manufacturing apparatus 108 is locatedwithin a single locker and produces a MOD item 110 in the locker. Inother aspects, the 3D manufacturing apparatus 108 is located near acluster of lockers, and when a MOD item 110 is produced by the 3Dmanufacturing apparatus 108, the MOD item is automatically transferredthe short distance from the 3D manufacturing apparatus 108 into a lockerdesignated as the pick-up location of the MOD item 110 by the user 102.

FIG. 14 is a flow chart representing a process 1400 that can be executedby a system 200 to perform a third example delivery method. At 1402, theorder module 402 can receive an order 104 for a MOD item 110 from a user102. Delivery via a 3D manufacturing apparatus 108 associated with apick-up location can be selected as the delivery method. At 1404, thelocation determination module 1006 can determine available pick-uplocations. For example, the location determination module 1006 canidentify pick-up locations that include lockers that are not occupiedwith MOD items 110 awaiting pick-up. At 1408, the location determinationmodule 1006 can select an available pick-up location. The selection maybe based at least in part upon the estimated amount of time for the 3Dmanufacturing apparatus 108 to produce the MOD item 110, the distancebetween the 3D manufacturing apparatus 108 and a location associatedwith the user 102, other considerations, or any combination thereof.

At 1410, the manufacturing instructions module 810 can generatemanufacturing instructions 107 for producing the MOD item 110 via a 3Dmanufacturing apparatus 108 associated with the selected pick-uplocation. At 1412, the manufacturing instructions module 810 can sendthe manufacturing instructions 107 to produce the MOD item 110 to theselected 3D manufacturing apparatus 108 associated with the selectedpick-up location. The manufacturing instructions 107 may includeinstructions for transferring the MOD item from the selected 3Dmanufacturing apparatus 108 associated with the selected pick-uplocation to the selected pick-up location.

At 1416, the notification module 1004 may notify the user 102 of thestatus of the MOD item 110, such as the progress in manufacturing theMOD item 110 at the selected pick-up location, the location of theselected pick-up location, access information for retrieving the MODitem 112 from the selected pick-up location, the time remaining untilthe MOD item 110 can be accessed at the selected pick-up location, orconfirmation of availability of the MOD item 110 at the pickup location.

In a fourth example of a delivery method for providing a MOD item 110 toa user 102, the MOD item 110 can be produced by a 3D manufacturingapparatus 108 associated with an order and storage location. Forexample, the 3D manufacturing apparatus 108 may be associated with akiosk provided for receiving an order 104 from a user 102 for a MOD item110 and storing the MOD item 110 for subsequent retrieval by the user102. In some aspects, the 3D manufacturing apparatus 108 can be locatedwithin a single storage unit and produces a MOD item 110 in the singlestorage unit. In other aspects, the 3D manufacturing apparatus 108 canbe located near a cluster of storage units, and when a MOD item 110 isproduced by the 3D manufacturing apparatus 108, the MOD item can beautomatically transferred the short distance from the 3D manufacturingapparatus 108 into an individual storage unit designated for the MODitem 110 until retrieval by the user 102.

FIG. 15 is a flow chart representing a process 1500 that can be executedby a system 200 to perform a fourth example delivery method. At 1502,the order module 402 can receive an order 104 for a MOD item 110 from auser 102. The order 104 may be received from an order unit associatedwith one or more 3D manufacturing apparatuses 108 and one or morestorage units. Delivery via a storage unit associated with an order unitcan be selected as the delivery method.

At 1510, the manufacturing instructions module 810 can generatemanufacturing instructions 107 for producing the MOD item 110 via a 3Dmanufacturing apparatus 108 associated with the order unit. At 1512, themanufacturing instructions module 810 can send the manufacturinginstructions 107. At 1514, the delivery module 1002 can send storageinstructions. In some aspects, such as when only one 3D manufacturingapparatus 108 is associated with the order unit, the manufacturinginstructions 107 can be sent directly to the 3D manufacturing apparatus108. In some aspects, such as when multiple storage units are associatedwith a single 3D manufacturing apparatus 108, the storage instructionsmay include a selection of a storage unit and instructions for movingthe MOD item 110 from the 3D manufacturing apparatus 108 to the selectedstorage unit. In some aspects, such as when multiple storage units areassociated with an order unit and each storage unit includes a 3Dmanufacturing apparatus 108, the storage instructions may include aselection of a storage unit and the manufacturing instructions 107 canbe sent to the 3D manufacturing apparatus 108 associated with theselected storage unit.

At 1516, the notification module 1004 may notify the user 102 of thestatus of the MOD item 110, such as the progress in manufacturing theMOD item 110 at the order location, identification of the selectedstorage unit storing the MOD item 110, access information for retrievingthe MOD item 112 from the selected storage unit, the time remaininguntil the MOD item 110 can be accessed at the selected storage unit, orconfirmation of availability of the MOD item 110 at the storage unit.

In a fifth example of a delivery method for providing a MOD item 110 toa user 102, the MOD item 110 can be produced by a 3D manufacturingapparatus 108 of a user 102. For example, the 3D manufacturing apparatus108 may be a 3D manufacturing apparatus 108 owned by a user 102, such asa 3-D printer in the user's home. As another example, the 3Dmanufacturing apparatus 108 may be a 3D manufacturing apparatus 108controlled by a user 102, such as a rapid prototyping machine at theuser's place of work or at a service center renting the use of themachine to the user 102.

FIG. 16 is a flow chart representing a process 1600 that can be executedby a system 200 to perform a fifth example delivery method. At 1602, theorder module 402 can receive an order 104 for a MOD item 110 from a user102. The order 104 may be received by an electronic marketplace providedby the order module 402. Delivery via a 3D manufacturing apparatus 108of the user 102 can be selected as the delivery method. At 1608, theorder module 402 can receive information about the 3D manufacturingapparatus 108 of the user 102. For example, the information about the 3Dmanufacturing apparatus 108 of the user 102 may include the make ormodel of the apparatus, format(s) of manufacturing instructions 107usable by the 3D manufacturing apparatus 108, manufacturing materialsutilized by the 3D manufacturing apparatus 108, size of the 3Dmanufacturing apparatus 108, and other considerations. At 1610, themanufacturing instructions module 810 can generate manufacturinginstructions 107 for producing the MOD item 110 via the 3D manufacturingapparatus 108 of the user 102. The instructions may be based oninformation received about the 3D manufacturing apparatus 108 of theuser 102 at 1608. At 1612, the manufacturing instructions module 810 canprovide to the customer manufacturing instructions 107 for producing theMOD item 110 via the 3D manufacturing apparatus 108 of the user 102. Insome aspects, the manufacturing instructions 107 can be provided to thecustomer by sending the manufacturing instructions 107 directly to the3D manufacturing apparatus 108 of the user 102. In some aspects, themanufacturing instructions 107 are provided to the customer, and furtheractions of the customer can cause the manufacturing instructions 107 tobe sent to the 3D manufacturing apparatus 108 of the user 102. Forexample, a digital file including 3D manufacturing instructions 107 canbe provided to the user 102 such that the user 102 can access the 3Dmanufacturing instructions 107 later to produce the MOD item 110 on a 3Dmanufacturing apparatus 108 of the user 102, such as in the user's homeor at a service center renting the use of the 3D manufacturing apparatus108 to the user 102. The manufacturing instructions 107 provided at 1612may be configured such that the manufacturing instructions 107 can betransferred from the user 102 to a provider of a manufacturing apparatus108 designated by the user 102.

Supplier Features

Systems discussed herein may provide various methods for interfacingwith suppliers 103. The methods utilized for interfacing with suppliers103 may affect the functions performed by various modules discussedabove. The following discussion of examples of methods for interfacingwith suppliers 103 may illustrate ways that such methods may affect thefunctions performed by previously discussed modules.

Methods can be provided for suppliers 103 or vendors of items to utilizesystems of a service provider 101 for distribution of MOD items 110.FIG. 17 is a flow chart representing a process 1700 that can be executedby a system 200 for distributing MOD items 110 on behalf of suppliers103. At 1702, the supplier interface module 602 can receive informationassociated with one or more items from a supplier 103. The informationassociated with the item(s) can include information for obtaining theitem(s) as a non-MOD item, such as the location of the item(s) orinformation for accessing the item(s). The information associated withthe item(s) can also include information for manufacturing one or moreof the item(s) as a MOD item 110, such as specifications of the item(s)or manufacturing instructions 107 for the item(s). At 1704, the supplierinterface module 602 can provide a supplier 103 an option for listing aMOD item in an electronic marketplace. At 1706, the supplier interfacemodule 602 can provide a supplier 103 an option for listing a non-MODitem in the electronic marketplace. The items listed in the electronicmarketplace can be made available for consumption via the electronicmarketplace. With these options, a supplier 103 may choose to list anitem in the marketplace as a non-MOD item, to list an item in themarketplace as a MOD item 110, or to list an item in the marketplace asavailable either as a non-MOD item or as a MOD item 110. Listing an itemin the marketplace as available as a MOD item 110 can reduce thephysical space a supplier 103 maintains for storing items as non-MODitems. At 1708, the order module 402 can list the item in an electronicmarketplace accessible by a user 102. The order module 402 may list theitem in the marketplace designating the item as a MOD item, designatingit as a non-MOD item, designating it as either a MOD item or a non-MODitem, or without designating it as a MOD item or non-MOD item. At 1710,the order module 402 can receive a request for an item listed in themarketplace. At 1712, the manufacture module 802 can provide informationfor manufacturing the item as a MOD item. At 1714, the delivery module1002 can provide information for delivery of the item as a non-MOD item.In embodiments, an order 104 may involve providing both a MOD item 110and a non-MOD item. In some embodiments, the non-MOD item may be anassembly that includes a subcomponent produced as a MOD item 110. Forexample, an order 104 may involve a bag having a number of buckles orclasps. One or more of the buckles or clasps may be printed via a 3Dmanufacturing apparatus 108 (i.e., subcomponents produced as MOD items110) and included with or installed on the bag (i.e., non-MOD itemassembly) that is shipped to the user 102.

Methods can be provided for determining the manner in which an item isprovided to a user 102. For example, a method may be provided fordetermining whether an item will be provided to a user 102 as a MOD itemor as a non-MOD item. In various aspects, a supplier 103 or vendor of anitem may select parameters for determining the manner in which the itemwill be provided to a user 102. In some aspects, the manner in which anitem is to be provided toa user 102 may be determined utilizingparameters without supplier 103 involvement. FIG. 18 is a flow chartrepresenting a process 1800 that can be executed by a system 200 fordetermining the manner in which an item is provided to a user 102. At1802, the delivery module 1002 or the supplier interface module 602 canreceive an order 104 for an item from a user 102 in an electronicmarketplace. The item can be associated with 3D manufacturinginstructions 107 such that the item can be produced as a MOD item 110.At 1804, the order module 402 can evaluate one or more parametersassociated with various manners of fulfilling the order 104.Non-limiting examples of parameters that may be evaluated in determininga delivery method include time of delivery, cost to make, shipping orother delivery cost, location of existing parts, location of 3Dmanufacturing apparatus 108, availability of 3D manufacturing apparatus108, longevity or expected useful life of an item, supplier 103preferences, service provider 101 preferences, and user preferences. At1806, the delivery module 1002 can determine whether one or more of theparameters are met. If the parameter(s) are met (Yes at 1806), then at1808, the manufacture module 802 can provide instructions formanufacturing the item as a MOD item 110. At 1812, the delivery module1002 can provide instructions for providing the MOD item 110 to the user102. As non-limiting examples, the delivery module 1002 can provideinstructions to manufacture the MOD item 110 and deliver the MOD item toan address, to manufacture the MOD item 110 and deliver the MOD item toa pick-up location, or to manufacture the MOD item 110 on a 3Dmanufacturing apparatus 108 of a user 102. If the parameter(s) are notmet (No at 1806), then at 1810, the delivery module 1002 can provideinstructions for obtaining the item as a non-MOD item, such as an itempreviously manufactured before receipt of the order 104. At 1812, thedelivery module 1002 can provide instructions for providing the obtaineditem to the user 102.

Methods can be provided for associating environmental offsets withsuppliers 103 that utilize systems of a service provider 101 todistribute MOD items 110 to users 102. FIG. 19 is a flow chartrepresenting a process 1900 that can be executed by a system 200 forassociating environmental offsets with suppliers 103 that utilizesystems of a service provider 101 to distribute MOD items 110 to users102. At 1902, the order module 402 can provide items from a plurality ofsuppliers 103 or vendors for consumption in an electronic marketplace.At 1904, the supplier interface module 602 can maintain informationabout orders 104 for items that were fulfilled via MOD items 110 onbehalf of suppliers 103. The MOD items 110 utilized to fulfill orders104 can be based on a 3D manufacturing instructions 107 provided by thesupplier 103. At 1906, the supplier interface module 602 can provide theinformation about the fulfillment via MOD items 110 to an environmentaloffset program. For example, the information may include an evaluationof resources consumed in producing the MOD item 110 used in fulfillingan order 104. The information may also include an evaluation of theresources that would have been consumed had the item been producing inanother fashion and not as a MOD item 110. Information provided at 1906can be provided to an entity administering an environmental offsetprogram, to the supplier 103, to the user 102, other interested parties,or to any combination thereof.

Digital Store for MOD Items

Systems discussed herein may provide various methods for providingservices associated with mod items 110. The methods utilized forproviding services associated with mod items 110 may affect thefunctions performed by various modules discussed above. The followingdiscussion of examples of methods for providing services associated withmod items 110 may illustrate ways that such methods may affect thefunctions performed by previously discussed modules.

Methods can be provided for providing services associated with MOD items110. For example, services associated with MOD items 110 may includeservices that provide the designs and/or 3D manufacturing apparatuses108 for producing MOD items 110. In some aspects, a user 102 may beinterested in services providing both the designs and the use of a 3Dmanufacturing apparatus 108 for producing MOD items 110. For example,the user 102 may be cost conscious and prefer to peruse ready madedesigns for production upon request rather than invest time or resourcesinto developing designs or purchasing a 3D manufacturing apparatus 108for producing a MOD item 110. FIG. 20 is a flow chart representing aprocess 2000 that can be executed by a system 200 for providing thedesigns and 3D manufacturing apparatuses 108 for producing mod items110. At 2002, the order module 402 can provide an electronic marketplacefor consumption of a plurality of items. Each of the items can have 3Dmanufacturing instructions 107 associated with the particular item. Forexample, a library of designs can be presented to a user 102. Thesedesigns may be provided by the service provider 101 and/or one or moresuppliers 103. The user 102 may select a design for a MOD item 110 thatthe user 102 would like produced by a 3D manufacturing apparatus 108 ofthe service provider 101. At 2004, responsive to selection of one of theitems by a user 102, the manufacture module 802 can provide 3Dmanufacturing instructions 107 to a 3D manufacturing apparatus 108 tomanufacture the item based on the 3D manufacturing instructions 107. At2006, the delivery module 1002 can provide delivery instructions fordelivering the manufactured item to the user 102.

In some aspects, a user 102 may be only interested in services providingthe use of a 3D manufacturing apparatus 108 for producing MOD items 110.For example, the user 102 may already have designs for producing a MODitem 110 via the 3D manufacturing apparatus 108. As more specificexamples, the user 102 may be an engineer with a virtual model of a partthat he or she would like to physically manipulate or an architect witha CAD model of a building that he or she would like to convert into aphysical model to provide to a client. At 2008, the order module 402 canreceive data that can be utilized for producing 3D manufacturinginstructions 107 (e.g., a 3D model) from a user 102. The data can beprovided by the user 102 via the browser application 206. The data canbe associated with a design for a MOD item 110 not available in theplurality of items presented in the electronic marketplace. For example,the data may be a model produced in modeling software by the user 102.In another example, the data may be a model produced by a 3-dimensionalscan of an object. At 2010, the manufacture module 802 can provide 3Dmanufacturing instructions 107 to a 3D manufacturing apparatus 108 tomanufacture the item based on the data received at 2008. At 2012, thedelivery module 1002 can provide delivery instructions for deliveringthe MOD item to the user 102.

In some aspects, a user 102 may be only interested in designs forproducing MOD items 110. For example, the user 102 may already own orcontrol a 3D manufacturing apparatus 108 and may desire to produce a MODitem 110 via that 3D manufacturing apparatus 108. As a more specificexample, a user 102 may wish to sample a texture of a fabric beforeordering clothing having that fabric. FIG. 21 is a flow chartrepresenting a process 2100 that can be executed by a system 200 forproviding designs for producing MOD items 110. At 2102, the order module402 can provide an electronic marketplace for consumption of a pluralityof items. Each of the items can have a separate 3D manufacturinginstructions 107 associated with the particular item. For example, alibrary of designs can be presented to a user 102. The user 102 mayselect a design for a MOD item 110 that the user 102 would like toproduce on the user's 3D manufacturing apparatus 108. At 2104,responsive to selection of one of the items by a user 102, the deliverymodule 1002 can provide to the user 102 with access to the design. Forexample, the delivery module 1002 may provide the user 102 with accessto the 3D manufacturing instructions 107 associated with the selecteditem such that the user 102 can use the 3D manufacturing instructions107 in a 3D manufacturing apparatus 108 to manufacture the selected itemas a MOD item 110. In some aspects, the user's access to the design islimited. For example, the user's access to the design may be limited byrights management mechanisms, such as permission restrictions that limituse of the design to a certain time window and/or to a certain number ofuses. For example, the access to the design may be limited to a singleuse or to an amount of time based on an estimated amount of time for themanufacturing apparatus 108 of the user 102 to produce a MOD item 110from the design. As another example, the access to the design may belimited to use initiated within a certain window (e.g., 24 hours afteraccess is first granted). In some aspects, the user's access to thedesign is limited by providing executable code for producing the designon the user's 3D manufacturing apparatus 108 rather than providing thedesign code. In some aspects, data encryption can secure design dataand/or prevent improper copying.

In some aspects, one or more of the services discussed above (providingdesigns, providing 3D manufacturing services, or providing designs and3D manufacturing services) can be presented to a user 102. FIG. 22 is anexample network page 2200 providing options for selecting designservices 2202, 3D manufacturing services 2204, and/or design and 3Dmanufacturing services 2206.

Electronic Marketplace for MOD Items

Systems discussed herein may provide various methods for providing anelectronic marketplace in which providing a MOD item 110 is one ofmultiple options for fulfilling an order 104 for an item. The methodsutilized for providing an electronic marketplace in which providing aMOD item 110 is one of multiple options for fulfilling an order 104 foran item may affect the functions performed by various modules discussedabove. The following discussion of examples of methods for providing anelectronic marketplace in which providing a MOD item 110 is one ofmultiple options for fulfilling an order 104 for an item may illustrateways that such methods may affect the functions performed by previouslydiscussed modules.

Methods can be provided for providing an electronic marketplace in whichproviding a MOD item 110 is one of multiple options for fulfilling anorder 104 for an item. FIG. 23 is a flow chart representing a process2300 that can be executed by a system 200 for providing an electronicmarketplace in which providing a MOD item 110 is one of multiple optionsfor fulfilling an order 104 for an item. At 2302, the order module 402can provide an electronic market place with items for consumption. Eachitem in the electronic marketplace can be designated as either afirst-type item or a second-type item. The first-type items can bedesignated for production as a MOD item 110. The second-type items canbe designated not for production as MOD items 110. At 2304, the ordermodule 402 can receive a request for an item. The item may be either afirst-type item or a second type item. If the requested item is afirst-type item (YES at 2306), then at 2308 the manufacture module 802can provide instructions to manufacture the first-type item as a MODitem 110. At 2310, the delivery module 1002 can provide instructions forproviding the manufactured first-type item. For example, the deliverymodule 1002 may provide instructions that the manufactured item beprovided via a 3D manufacturing apparatus 108 of a user 102, orinstructions that the manufactured item be provided via a 3Dmanufacturing apparatus 108 of the service provider 101 and delivered tothe user 102. If the requested item is a second-type item (NO at 2306),then at 2312, the order module 402 can provide instructions forobtaining the second-type item. At 2314, the delivery module 1002 canprovide instructions for providing the obtained second-type item.

Methods can be provided for providing an electronic marketplace in whichordering an item as a MOD item 110 is an option on an item detail page.FIG. 24 is a flow chart representing a process 2400 that can be executedby a system 200 for providing an electronic marketplace in whichordering an item as a MOD item 110 is an option on an item detail page.At 2402, the order module 402 can provide an electronic market placewith items for consumption. At 2404, the electronic marketplace canprovide at least a first item associated with a first price and a firstfulfillment method. The first fulfillment method can be completedwithout manufacturing the first item based on 3D manufacturinginstructions 107. For example, the first fulfillment method can involveproviding the item as a non-MOD item. At 2406, the electronicmarketplace can provide a second item associated with a second price anda second fulfillment method. The second fulfillment method can involvemanufacturing the second item based on 3D manufacturing instructions107. For example, the second fulfillment method can involve providingthe item as a MOD item 110.

Methods can be provided for providing an electronic marketplace in whichordering an item as a MOD item 110 is a shipping option. FIG. 25 is aflow chart representing a process 2500 that can be executed by a system200 providing an electronic marketplace in which ordering an item as aMOD item 110 is a shipping option. At 2502, order module 402 can providean electronic market place with items for purchase. At 2504, responsiveto a purchase of an item in the electronic marketplace, the order module402 can provide a first delivery option not including manufacturing thepurchased item based on 3D manufacturing instructions 107. At 2506, asecond delivery option can be provided including manufacturing thepurchased item based on 3D manufacturing instructions 107.

FIG. 26 is an example network page showing a shipping page 2600 for apurchased item 2610 showing a first delivery option 2620 not includingmanufacturing the purchased item based on 3D manufacturing instructions107 and a second delivery option 2630 including manufacturing thepurchased item based on 3D manufacturing instructions 107.

Methods can be provided for providing an electronic marketplace in whichordering an item as a MOD item 110 is an option associated with a timeand/or cost. FIG. 27 is a flow chart representing a process 2700 thatcan be executed by a system 200 for providing an electronic marketplacein which ordering an item as a MOD item 110 is an option associated witha time and/or cost. At 2702, the order module 402 can provide anelectronic market place with items for consumption. At 2704, theelectronic marketplace can provide at least one item having a firstoption for consumption. At 2706, the electronic marketplace can providea second option for consumption of the at least one item. The firstoption can be associated with a first price, a first time of delivery,and a first delivery method not involving manufacturing the first itembased on 3D manufacturing instructions 107. The second option can beassociated with a second price, a second time of delivery, and a seconddelivery method involving manufacturing the second item based on 3Dmanufacturing instructions 107.

FIG. 28 is an example network page showing an item detail page 2800 foran item 2810 showing a first option 2820 associated with a first price2822, a first time of delivery 2824, and a first delivery method 2828not involving manufacturing the first item based on 3D manufacturinginstructions 107 and second option 2830 associated with a second price2832, a second time of delivery 2834, and a second delivery method 2838involving manufacturing the second item based on 3D manufacturinginstructions 107.

As can be seen from the above examples, embodiments herein can providean electronic marketplace with a number of options for delivery of anitem, including allowing a selection of manufacturing via a 3Dmanufacturing apparatus or not, selecting where an item is manufactured(if that option is selected), and selecting a speed of delivery. Theseoptions may be provided with different pricing options, as shown in FIG.28. Thus, 3D manufacturing can provide a user 102 with a variety ofoptions including very fast delivery.

FIG. 29 illustrates aspects of an example environment 2900 forimplementing aspects in accordance with various embodiments. As will beappreciated, although a Web-based environment is used for purposes ofexplanation, different environments may be used, as appropriate, toimplement various embodiments. The environment includes an electronicclient device 2902, which can include any appropriate device operable tosend and receive requests, messages or information over an appropriatenetwork 2904 and convey information back to a user of the device.Examples of such client devices include personal computers, cell phones,handheld messaging devices, laptop computers, set-top boxes, personaldata assistants, electronic book readers and the like. The network caninclude any appropriate network, including an intranet, the Internet, acellular network, a local area network or any other such network orcombination thereof. Components used for such a system can depend atleast in part upon the type of network and/or environment selected.Protocols and components for communicating via such a network are wellknown and will not be discussed herein in detail. Communication over thenetwork can be enabled by wired or wireless connections and combinationsthereof. In this example, the network includes the Internet, as theenvironment includes a Web server 2906 for receiving requests andserving content in response thereto, although for other networks analternative device serving a similar purpose could be used as would beapparent to one of ordinary skill in the art.

The illustrative environment includes at least one application server2908 and a data store 2910. It should be understood that there can beseveral application servers, layers, or other elements, processes orcomponents, which may be chained or otherwise configured, which caninteract to perform tasks such as obtaining data from an appropriatedata store. As used herein the term “data store” refers to any device orcombination of devices capable of storing, accessing and retrievingdata, which may include any combination and number of data servers,databases, data storage devices and data storage media, in any standard,distributed or clustered environment. The application server can includeany appropriate hardware and software for integrating with the datastore as needed to execute aspects of one or more applications for theclient device, handling a majority of the data access and business logicfor an application. The application server provides access controlservices in cooperation with the data store and is able to generatecontent such as text, graphics, audio and/or video to be transferred tothe user, which may be served to the user by the Web server in the formof HyperText Markup Language (“HTML”), Extensible Markup Language(“XML”) or another appropriate structured language in this example. Thehandling of all requests and responses, as well as the delivery ofcontent between the client device 2902 and the application server 2908,can be handled by the Web server. It should be understood that the Weband application servers are not required and are merely examplecomponents, as structured code discussed herein can be executed on anyappropriate device or host machine as discussed elsewhere herein.

The data store 2910 can include several separate data tables, databasesor other data storage mechanisms and media for storing data relating toa particular aspect. For example, the data store illustrated includesmechanisms for storing production data 2912 and user information 2916,which can be used to serve content for the production side. The datastore also is shown to include a mechanism for storing log data 2914,which can be used for reporting, analysis or other such purposes. Itshould be understood that there can be many other aspects that may needto be stored in the data store, such as for page image information andto access right information, which can be stored in any of the abovelisted mechanisms as appropriate or in additional mechanisms in the datastore 2910. The data store 2910 is operable, through logic associatedtherewith, to receive instructions from the application server 2908 andobtain, update or otherwise process data in response thereto. In oneexample, a user might submit a search request for a certain type ofitem. In this case, the data store might access the user information toverify the identity of the user and can access the catalog detailinformation to obtain information about items of that type. Theinformation then can be returned to the user, such as in a resultslisting on a Web page that the user is able to view via a browser on theclient device 2902. Information for a particular item of interest can beviewed in a dedicated page or window of the browser.

Each server typically will include an operating system that providesexecutable program instructions for the general administration andoperation of that server and typically will include a computer-readablestorage medium (e.g., a hard disk, random access memory, read onlymemory, etc.) storing instructions that, when executed by a processor ofthe server, allow the server to perform its intended functions. Suitableimplementations for the operating system and general functionality ofthe servers are known or commercially available and are readilyimplemented by persons having ordinary skill in the art, particularly inlight of the disclosure herein.

The environment in one embodiment is a distributed computing environmentutilizing several computer systems and components that areinterconnected via communication links, using one or more computernetworks or direct connections. However, it will be appreciated by thoseof ordinary skill in the art that such a system could operate equallywell in a system having fewer or a greater number of components than areillustrated in FIG. 29. Thus, the depiction of the system 2900 in FIG.29 should be taken as being illustrative in nature and not limiting tothe scope of the disclosure.

The various embodiments further can be implemented in a wide variety ofoperating environments, which in some cases can include one or more usercomputers, computing devices or processing devices which can be used tooperate any of a number of applications. User or client devices caninclude any of a number of general purpose personal computers, such asdesktop or laptop computers running a standard operating system, as wellas cellular, wireless and handheld devices running mobile software andcapable of supporting a number of networking and messaging protocols.Such a system also can include a number of workstations running any of avariety of commercially-available operating systems and other knownapplications for purposes such as development and database management.These devices also can include other electronic devices, such as dummyterminals, thin-clients, gaming systems and other devices capable ofcommunicating via a network.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TransmissionControl Protocol/Internet Protocol (“TCP/IP”), Open SystemInterconnection (“OSI”), File Transfer Protocol (“FTP”), Universal Plugand Play (“UpnP”), Network File System (“NFS”), Common Internet FileSystem (“CIFS”) and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network and any combination thereof.

In embodiments utilizing a Web server, the Web server can run any of avariety of server or mid-tier applications, including Hypertext TransferProtocol (“HTTP”) servers, FTP servers, Common Gateway Interface (“CGI”)servers, data servers, Java servers and business application servers.The server(s) also may be capable of executing programs or scripts inresponse requests from user devices, such as by executing one or moreWeb applications that may be implemented as one or more scripts orprograms written in any programming language, such as Java®, C, C# orC++, or any scripting language, such as Perl, Python or TCL, as well ascombinations thereof. The server(s) may also include database servers,including without limitation those commercially available from Oracle®,Microsoft®, Sybase® and IBM®.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (“CPU”), at least oneinput device (e.g., a mouse, keyboard, controller, touch screen orkeypad) and at least one output device (e.g., a display device, printeror speaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices and solid-state storagedevices such as random access memory (“RAM”) or read-only memory(“ROM”), as well as removable media devices, memory cards, flash cards,etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.) and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed and/or removable storagedevices as well as storage media for temporarily and/or more permanentlycontaining, storing, transmitting and retrieving computer-readableinformation. The system and various devices also typically will includea number of software applications, modules, services or other elementslocated within at least one working memory device, including anoperating system and application programs, such as a client applicationor Web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets) or both. Further, connection to other computing devices suchas network input/output devices may be employed.

Storage media and computer readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as but notlimited to volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer readable instructions, data structures,program modules or other data, including RAM, ROM, Electrically ErasableProgrammable Read-Only Memory (“EEPROM”), flash memory or other memorytechnology, Compact Disc Read-Only Memory (“CD-ROM”), digital versatiledisk (DVD) or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices or any othermedium, which can be used to store the desired information and which canbe accessed by the a system device. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willappreciate other ways and/or methods to implement the variousembodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the disclosure asset forth in the claims.

Other variations are within the spirit of the present disclosure. Thus,while the disclosed techniques are susceptible to various modificationsand alternative constructions, certain illustrated embodiments thereofare shown in the drawings and have been described above in detail. Itshould be understood, however, that there is no intention to limit thedisclosure to the specific form or forms disclosed, but on the contrary,the intention is to cover all modifications, alternative constructionsand equivalents falling within the spirit and scope of the disclosure,as defined in the appended claims.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosed embodiments (especially in thecontext of the following claims) are to be construed to cover both thesingular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The terms “comprising,” “having,” “including,”and “containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to,”) unless otherwise noted. The term“connected” is to be construed as partly or wholly contained within,attached to, or joined together, even if there is something intervening.Recitation of ranges of values herein are merely intended to serve as ashorthand method of referring individually to each separate valuefalling within the range, unless otherwise indicated herein and eachseparate value is incorporated into the specification as if it wereindividually recited herein. All methods described herein can beperformed in any suitable order unless otherwise indicated herein orotherwise clearly contradicted by context. The use of any and allexamples, or exemplary language (e.g., “such as”) provided herein, isintended merely to better illuminate embodiments of the disclosure anddoes not pose a limitation on the scope of the disclosure unlessotherwise claimed. No language in the specification should be construedas indicating any non-claimed element as essential to the practice ofthe disclosure.

Preferred embodiments of this disclosure are described herein, includingthe best mode known to the inventors for carrying out the disclosure.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate and the inventors intend for the disclosure to be practicedotherwise than as specifically described herein. Accordingly, thisdisclosure includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the disclosure unlessotherwise indicated herein or otherwise clearly contradicted by context.

All references, including publications, patent applications and patents,cited herein are hereby incorporated by reference to the same extent asif each reference were individually and specifically indicated to beincorporated by reference and were set forth in its entirety herein.

What is claimed is:
 1. A computer-implemented method comprising: undercontrol of one or more computer systems configured with executableinstructions, providing an electronic marketplace with items forconsumption, the electronic marketplace including a network pagepresenting: information about a first item; a first option forconsumption of the first item, the first option associated with a firstprice a first time of delivery and a first delivery method involvingmanufacturing the first item based on 3D manufacturing instructions by a3D manufacturing apparatus of a kiosk, wherein the 3D manufacturinginstructions are accessible to the electronic marketplace, and whereinthe kiosk is configured to receive an order for the first item and storemanufactured items within one or more storage units of the kiosk; and asecond option for consumption of the first item, the second optionassociated with a second price, a second time of delivery, and a seconddelivery method that excludes manufacturing the first item via the 3Dmanufacturing apparatus of the kiosk; in response to receiving aselection of the first option, causing the 3D manufacturing apparatus ofthe kiosk to manufacture the first item based on the 3D manufacturinginstructions; in response to causing the 3D manufacturing apparatus tomanufacture the first item based on the 3D manufacturing instructions,causing delivery of the first item via the storage unit of the kiosk;and responsive to a selection of the second option, instructing deliveryof the first item via the second delivery method.
 2. Thecomputer-implemented method of claim 1, wherein the first price and thesecond price are different.
 3. The computer-implemented method of claim1, wherein the first time of delivery and the second time of deliveryare different.
 4. The computer-implemented method of claim 1, whereincausing the 3D manufacturing device to manufacture the first item basedon the 3D manufacturing instructions comprises providing the 3Dmanufacturing instructions to the 3D manufacturing device.
 5. Thecomputer-implemented method of claim 1, wherein causing delivery of thefirst item via the storage unit of the kiosk comprises providinginstructions for transporting the manufactured first item to the storageunit of the kiosk.
 6. The computer-implemented method of claim 1,wherein the kiosk is configured with a plurality of 3D manufacturingapparatus, the plurality of 3D manufacturing apparatus comprises the 3Dmanufacturing apparatus.
 7. The computer-implemented method of claim 6,further comprising: determining support capabilities of each of theplurality of 3D manufacturing apparatus; and selecting the 3Dmanufacturing apparatus from the plurality of 3D manufacturing apparatusbased at least in part on the determined support capabilities of theplurality of 3D manufacturing apparatus.
 8. The computer-implementedmethod of claim 6, further comprising: determining a material to beutilized to manufacture the item; and selecting the 3D manufacturingapparatus from the plurality of 3D manufacturing apparatus based atleast in part on the determined material.
 9. A computer-implementedmethod comprising: providing, by a processing device of a kiosk, accessto an electronic marketplace associated with items for purchase;responsive to a purchase of an item in the electronic marketplace,providing, by the processing device, at least a first delivery optionfor the item and at least a second delivery option for the item, whereinthe first delivery option includes manufacturing the purchased itembased on 3D manufacturing instructions for manufacturing the purchaseditem via a 3D manufacturing apparatus of the kiosk, wherein the seconddelivery option excludes manufacturing the purchased item via the 3Dmanufacturing apparatus, and wherein the kiosk is configured to receiveindications of purchase and store manufactured items within one or morestorage units of the kiosk; in response to receiving a selection of thefirst option, causing, by the processing device of the kiosk, the 3Dmanufacturing apparatus of the kiosk to manufacture the item based onthe 3D manufacturing instructions; and in response to causing the 3Dmanufacturing apparatus of the kiosk to manufacture the item, causing,by the processing device of the kiosk, the manufactured item to bestored in a storage unit of the kiosk.
 10. The computer-implementedmethod of claim 9, wherein the first delivery option is associated witha first cost, wherein the second delivery option is associated with asecond cost, and wherein the first cost and the second cost aredifferent.
 11. The computer-implemented method of claim 9, wherein thefirst delivery option is associated with a first amount of time, whereinthe second delivery option is associated with a second amount of time,and wherein the first amount of time and the second amount of time aredifferent.
 12. The computer-implemented method of claim 9 wherein thefirst delivery option includes providing instructions for transportingsaid manufactured purchased item to the storage unit of the kiosk.